#ifndef SIXBITSTRING_H
#define SIXBITSTRING_H

#include <QByteArray>
#include <QChar>

namespace ns_yht
{

#define MAX_MESSAGE_LEN (10 * 82)

    class SixBitString
    {
    public:
        SixBitString(const QByteArray &str);
        QChar to_6bit(QChar c);

        int getInt(int start, int len, bool signed_flag = false);
        QByteArray getStr(int start, int bit_len);
        int getBitCount();

        double getLon(int start, int len);
        double getLat(int start, int len);

    private:
        QChar bitBytes[MAX_MESSAGE_LEN];
        int byte_length;
    };

} // namespace ns_yht
#endif // SIXBITSTRING_H
